1
通往高效能核心的途徑
AI023Lesson 2
00:00

打造高效能核心的旅程,始於從「操作導向」程式設計(PyTorch Eager)轉向 操作導向 程式設計(PyTorch Eager)轉向 硬體感知 程式設計。Triton 在此過程中扮演關鍵橋樑的角色。

1. 定義技術棧

Triton 是一種平行程式語言與編譯器,專為以 Python 語法撰寫高效能的自訂運算核心而設計。它處於一個獨特的中間位置:

  • PyTorch Eager: 高度抽象、易於使用,但對硬體資源的控制能力有限。
  • CUDA C++: 擁有最大控制權,但複雜度高(需手動管理共享記憶體與同步)。
  • Triton: 具備 Python 風格語法,並支援 區塊層級 (分塊)控制。
PyTorch Eager(高抽象)Triton(區塊層級/編譯器驅動)CUDA / 匯流排語言(低階)

2. 分塊模型

與在 執行緒層級作業的 CUDA 不同,Triton 採用 區塊基礎(分塊) 程式設計模式。這對深度學習尤為重要,因為資料(矩陣、注意力圖)本質上就以區塊形式組織。

3. 性能謬誤

常見的誤解是認為 Triton 只是「更快的 PyTorch」。事實上,它是一種獨立的程式設計范式。效能提升來自開發者能夠 消除瓶頸 (例如「記憶體牆」),透過合併運算,將資料保留在快速的片上 SRAM 內。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>